package com.example.system.Service.exam;


import com.example.common.core.domain.R;
import com.example.common.core.domain.TableDataInfo;
import com.example.system.domain.exam.dto.ExamAddDTO;
import com.example.system.domain.exam.dto.ExamQueryDTO;
import com.example.system.domain.exam.dto.ExamQuestionAddDTO;
import com.example.system.domain.exam.dto.ExamQuestionDeleteDTO;
import com.example.system.domain.exam.vo.ExamVo;
import com.fasterxml.jackson.core.JsonProcessingException;


public interface IExamService {
    TableDataInfo list(ExamQueryDTO examQueryDTO);

    R<Long> add(ExamAddDTO examAddDTO);

    void questionAdd(ExamQuestionAddDTO examQuestionAddDTO);

    TableDataInfo getExamQuestionList(Long questionId);

    ExamVo getExamById(Long examId);

    int questionDelete(ExamQuestionDeleteDTO questionDeleteDTO);

    int publish(Long examId) throws JsonProcessingException;

    int unpublish(Long examId) throws JsonProcessingException;
}
